package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 评价管理对象 order_evaluation
 *
 * @author ruoyi
 * @date 2024-09-09
 */
@Data
public class OrderEvaluation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private Long orderDetailsId;

    /** 服务内容 */
    @Excel(name = "服务内容")
    private String serviceContent;

    /** 评价者 */
    @Excel(name = "评价者id")
    private Integer reviewersId;

    /** 星级 */
    @Excel(name = "星级")
    private Long starRating;

    /** 图片 */
    @Excel(name = "图片")
    private String image;

    /** 评价内容 */
    @Excel(name = "评价内容")
    private String evaluationContent;

    /** 评价时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "评价时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date evaluationTime;

    /**
     * 评价者对象
     */
    private User user;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    private Merchant merchant;
    private OrderDetails orderDetails;
    private ServiceDetails serviceDetails;
    private ServiceClass serviceClass;

    private CarBrand carBrand;
    private CarInfo carInfo;
    private Integer seller;

    public Integer getSeller() {
        return seller;
    }

    public void setSeller(Integer seller) {
        this.seller = seller;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("orderDetailsId", getOrderDetailsId())
                .append("serviceContent", getServiceContent())
                .append("reviewersId", getReviewersId())
                .append("starRating", getStarRating())
                .append("image", getImage())
                .append("evaluationContent", getEvaluationContent())
                .append("evaluationTime", getEvaluationTime())
                .toString();
    }
}
